﻿using System;

using VISS.API.Users;
using NCT.Framework;

namespace VISS.Web.Frontend {
    [Serializable]
    public class UserContext {
        /// <summary>
        /// Id User.
        /// </summary>
        public long UserID { get; set; }
        /// <summary>
        /// User Key.
        /// </summary>
        public string UserKey { get; set; }
        /// <summary>
        /// email của thành viên - Tên đăng nhập.
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// họ tên đầy đủ.
        /// </summary>
        public string FullName { get; set; }
        /// <summary>
        /// trạng thái, gồm tài khoản [nomal, delete , lock, active]
        /// </summary>
        public EUserStatus Status { get; set; }
        /// <summary>
        /// ngày tạo tài khoản.
        /// </summary>
        public DateTime DateCreated { get; set; }
        /// <summary>
        /// Avatarpath
        /// </summary>
        public string AvatarPath { get; set; }
        /// <summary>
        /// Gender
        /// </summary>
        public EUserGender Gender { get; set; }
        /// <summary>
        /// Gender
        /// </summary>
        public EUserLookingFor LookingFor { get; set; }

        public UserContext() {

        }

        /// <summary>
        /// constructor
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="userKey"></param>
        /// <param name="email"></param>
        /// <param name="fullName"></param>
        /// <param name="status"></param>
        /// <param name="dateCreated"></param>
        /// <param name="avatarPath"></param>
        /// <param name="gender"></param>
        public UserContext(long userID, string userKey, string email, string fullName, EUserStatus status, DateTime dateCreated, string avatarPath, EUserGender gender, EUserLookingFor lookingFor)
        {
            UserID = userID;
            UserKey = userKey;
            Email = email;
            FullName = fullName;
            Status = status;
            DateCreated = dateCreated;
            AvatarPath = avatarPath;
            Gender = gender;
            LookingFor = lookingFor;
        }
    }
}